﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using BCEntity.Chats;

namespace BCData.Chats
{
    public interface IThreadData
    {
        Task<IEnumerable<ThreadEntity>> GetThreadsAsync(string userId);

        Task<ThreadEntity> GetThreadAsync(long threadId);

        Task<ThreadEntity> InsertAsync(ThreadEntity entity);

        Task<ThreadEntity> UpdateAsync(ThreadEntity entity);

        Task<ThreadEntity> GetPrivateThreadAsync(string participantUserId1, string participantUserId2);

        Task<ThreadEntity> GetCustomerServiceThreadAsync(string businessType, string referenceNumber, string participantUserId);

        Task<ThreadEntity> GetCustomerServiceThreadAsync(string businessType, string referenceNumber, string participantUserId1, string participantUserId2);
    }
}
